package fmglemmings;

import java.util.logging.Logger;

/**
 * Aso Lemming osztaly
 */
public class DiggerLemming extends Lemming {
	
	private int remainingDigs;
	private boolean digging, digstarted;
        
    /**
     * temenkent ellenorzi epitette e mar a lemming, ha igen, de ebben a korben nem kell, akkor visszavaltozik normal lemmingge
     */
	public void tickEvent() {
		if(digging){
			if(!digstarted)digstarted=true;
			digging=false;
		}else{
			if(digstarted)gf.changeRequest(this);
		}
	}
    /**
     * konstruktor
     * @param a X koordinata
     * @param b Y koordinata
     * @param c irany
     */
        public DiggerLemming(int a, int b, int c){
                super(a,b,c);
		remainingDigs=3;
		logger.info("Konstruktor kesz X:"+X+" Y: "+Y);
	}
    /**
     * Utkozes esemeny feluldefinialasa: ha elpusztithato ko az elotte allo dolog, akkor azt assa ki
     * @param mo MapObject, amellyel utkozik
     */
	public void hitEvent(MapObject mo) {
		if (mo.isGoal()) gf.winRequest(this);
		if(mo.isBlock()){
                    if(mo.isDestructable()){
			if(remainingDigs!=0){
				digging=true;
				remainingDigs--;
				logger.info("Hatralevo asasok szama:"+remainingDigs);
				gf.removeRequest(mo);
			}else{
				gf.turnRequest(this);
			//	gf.changeRequest(this);
			}
                    }
                    else gf.turnRequest(this);
		}
	}
	 
}
 
